//万昱柔 2025/3/10
import { Common } from "./Common";
cc.Class({
    extends: cc.Component,

    properties: {
        //受到重力的影响 有一个向下的加速度  矢量
        accel: -200,
        touchLayer: cc.Node,
        anglespeed: 100,
        score: cc.Node,

    },


    onLoad() {
        this.initInfo();
        this.touchLayer.on(cc.Node.EventType.MOUSE_DOWN, this.mouseDown, this);

        this.node.getComponent(cc.Animation).play("player" + Common.curIndex);
    },
    initInfo() {
        this.speed = 0;
        this.angleSpeed = 30;


    },
    mouseDown() {
        //console.log("鼠标按下了");
        this.speed = 150;
        //点击的时候可以让小鸟的角度成正的
        this.node.angle += 45;
        if (this.angle > 45) {
            this.angle -= 30;
        }

    },

    start() {

    },

    update(dt) {
        this.speed += this.accel * dt;
        //移动速度==速度*时间
        this.node.y += this.speed * dt;

        this.node.angle -= this.angleSpeed * dt;
        if (this.node.angle >= 45) {
            this.node.angle = 45;
        }
    },

    /**
* 当碰撞产生的时候调用
* @param  {Collider} other 产生碰撞的另一个碰撞组件
* @param  {Collider} self  产生碰撞的自身的碰撞组件
*/
    /**
     * 当碰撞产生的时候调用
     * @param  {Collider} other 产生碰撞的另一个碰撞组件
     * @param  {Collider} self  产生碰撞的自身的碰撞组件
     */
    onCollisionEnter: function (other, self) {
        if (other.node.group === "Score") {
            const scoreJs = this.score.getComponent("Score");
            scoreJs.addScore();
        } else {
            cc.director.loadScene("Over")
        }
    },

    /**
     * 当碰撞产生后，碰撞结束前的情况下，每次计算碰撞结果后调用
     * @param  {Collider} other 产生碰撞的另一个碰撞组件
     * @param  {Collider} self  产生碰撞的自身的碰撞组件
     */
    onCollisionStay: function (other, self) {
        console.log('碰撞产生');


    },
    /**
     * 当碰撞结束后调用
     * @param  {Collider} other 产生碰撞的另一个碰撞组件
     * @param  {Collider} self  产生碰撞的自身的碰撞组件
     */
    onCollisionExit: function (other, self) {
        console.log('碰撞结束');
    }

});
